#!/bin/bash

# 检查参数数量
if [ $# -ne 2 ]; then
    echo "usage: dircopy 源目录 目标目录"
    exit 1
fi

src_dir="$1"
dest_dir="$2"

# 检查源目录是否存在
if [ ! -d "$src_dir" ]; then
    echo "错误：源目录 '$src_dir' 不存在"
    exit 1
fi

# 获取目标目录的绝对路径（关键修正！）
dest_dir_abs=$(readlink -f "$dest_dir")

# 创建目标目录（若不存在）
mkdir -p "$dest_dir_abs" || { echo "错误：无法创建目标目录 '$dest_dir_abs'"; exit 1; }

# 切换到源目录
cd "$src_dir" || { echo "错误：无法进入源目录 '$src_dir'"; exit 1; }

# 遍历源目录下的文件（仅普通文件）
for file in *; do
    # 跳过 . 和 ..（避免复制目录本身）
    [ "$file" = "." ] || [ "$file" = ".." ] && continue
    
    # 仅复制普通文件（跳过子目录）
    if [ -f "$file" ]; then
        cp -v "$file" "$dest_dir_abs"  # 使用绝对路径复制
    fi
done

echo "复制完成！目标目录：$dest_dir_abs"